import Code from 'components/Markdown/Code'
import Warning from 'components/Markdown/Warning'

export const meta = {
  title: "Database Connector (Mongo)",
  position: 52,
  technology: "mongodb",
  technologyOrder: 3,
  articleGroup: "Database Connector"
}

## Overview

<Warning>

The [MongoDB](jgfm) database connector currently does not support ACID transactions. Learn more in [this](https://github.com/prisma/prisma/issues/3738) GitHub issue.

</Warning>

A database connector is the bridge between Prisma and the underlying database. The MongoDB connector is used to connect a Prisma server to a [MonogDB](https://www.mongodb.com) database. 

The core responsibilities of a database connector are:

- Translate incoming GraphQL queries into SQL
- Send the generated SQL query to the database
- Create GraphQL responses based on database result
- Perform database migrations (optional)

When configuring your Prisma server with Docker, you need to specify which connector you'd like to use in order to connect to a certain database. You provide this info via the `connector` property:

<Code lines="6">

```yml
PRISMA_CONFIG: |
  managementApiSecret: __YOUR_MANAGEMENT_API_SECRET__
  port: 4466
  databases:
    default:
      connector: mongo
      uri: __YOUR_MONGO_DB_CONNECTION_STRING__
```

</Code>

## Managing database connections

The `connectionLimit` property in `PRISMA_CONFIG` determines the number of database connections a Prisma service is going to use.

<Warning>

The `connectionLimit` needs to be set to at least **2**. One connection is always reserved for the [Management API](foe1), all other connections are used for the Prisma service.

</Warning>
